﻿/*=============================================================================
* File Name : Random.cpp                            Ver : 1.00  Date : 2009-5-15
*
* Description :
*
*       乱数生成クラス　ソース
*
* Author : 土田　悠貴.
*============================================================================*/
#include "Random.h"
#include <ctime>
#include <cstdlib>

namespace tglib
{

/*===========================================================================*/
/**
 * コンストラクタ．
 */
Random::Random()
{
	srand( (unsigned int)time(NULL) );
}

/*===========================================================================*/
/**
 * int型の乱数を生成．
 *
 * @return 整数の乱数 ．
 */
int Random::Rand()
{
	return rand();
}

/*===========================================================================*/
/**
 * int型の乱数を生成．
 *
 * @param [in]  min 乱数の最小値 ．
 * @param [in]  max 乱数の最大値 ．
 * @return整数の乱数 ．
 */
int Random::Rand( int min, int max )
{
	return rand() % ( max - min ) + min;
}

/*===========================================================================*/
/**
 * float型の乱数を生成．
 *
 * @return 浮動小数点の生成 ．
 */
float Random::Randf()
{
	return ( static_cast<float>( rand() ) / RAND_MAX );
}

/*===========================================================================*/
/**
 * float型の乱数を生成．
 *
 * @param [in]  min 乱数の最小値 ．
 * @param [in]  max 乱数の最大値 ．
 * @return 浮動小数点の生成 ．
 */
float Random::Randf( float min, float max )
{
	return ( Randf() * ( max - min ) + min );
}

} // namespace tglib

/*========= End of File =====================================================*/
